perm filename GEOMES.HDR[GEM,HE]8 blob
sn#115326 filedate 1974-08-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00006 00003 COMMENT EXTERNAL DECLARATIONS FOR DISPLAY ROUTINES
C00007 00004 COMMENT GEM-NODE NAMES FOR LINKS AND DATA
C00010 ENDMK
C⊗;
REQUIRE "GEOMED.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "UTILTY.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "EULER.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "EUCLID.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "OCCULT.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "BIN.REL[GEM,HE]" LOAD_MODULE;
REQUIRE "⊂⊃⊂⊃" DELIMITERS;
DEFINE $UBR=⊂EXTERNAL SIMPLE INTEGER PROCEDURE⊃;
COMMENT BASIC GEOMED, IO AND DISPLAY;
INTERNAL INTEGER RESULT;EXTERNAL INTEGER UNIVERSE;
$UBR MKUNIV;
$UBR GEOMED;
$UBR GEODPY;
$UBR SHOW1(INTEGER WINDOW,GLASS);
$UBR SHOW2(INTEGER WINDOW,GLASS);
$UBR PPROJ(INTEGER CAMERA,WORLD);
$UBR INGEM(STRING FILNAM);
$UBR INB3D(STRING FILNAM);
$UBR INCAM(STRING FILNAM);
$UBR FDNAME(STRING FILNAM);
$UBR OUTGEM(STRING FILNAM;INTEGER B);
$UBR OUTB3D(STRING FILNAM;INTEGER B);
$UBR OUTCAM(STRING FILNAM;INTEGER B);
$UBR PLOTO(STRING FILNAM);
COMMENT EUCLID;
$UBR TRANSL(INTEGER Q;REAL X,Y,Z);
$UBR ROTATE(INTEGER Q;REAL X,Y,Z);
$UBR SHRINK(INTEGER Q;REAL X,Y,Z);
$UBR APTRAN(INTEGER Q,ET);
$UBR INTRAN(INTEGER ET);
EXTERNAL SIMPLE REAL PROCEDURE DISTAN(INTEGER Q1,Q2);
EXTERNAL SIMPLE REAL PROCEDURE DETERM(INTEGER Q);
COMMENT WINGED EDGE PRIMITIVES;
$UBR MKNODE(INTEGER TYP);$UBR KLNODE(INTEGER NODE);
$UBR MKWORLD;$UBR MKCAMERA(INTEGER WORLD);
$UBR MKWINDOW(INTEGER CAMERA,WINDOW);
$UBR MKB(INTEGER WORLD);$UBR KLB(INTEGER BNEW);
$UBR KLBFEV(INTEGER BNEW);
$UBR MKBFV;
$UBR MKF(INTEGER FNEW); $UBR KLF(INTEGER FNEW);
$UBR MKE(INTEGER ENEW); $UBR KLE(INTEGER ENEW);
$UBR MKV(INTEGER VNEW); $UBR KLV(INTEGER VNEW);
$UBR WING(INTEGER E1,E2);$UBR LINKED(INTEGER Q1,Q2);
$UBR ECW(INTEGER Q1,Q2);$UBR ECCW(INTEGER Q1,Q2);
$UBR OTHER(INTEGER Q1,Q2);
$UBR VCW(INTEGER E,F); $UBR VCCW(INTEGER E,F);
$UBR FCW(INTEGER E,V); $UBR FCCW(INTEGER E,V);
$UBR BGET(INTEGER Q);
$UBR BDET(INTEGER Q);
$UBR BATT(INTEGER Q1,Q2);
COMMENT EULER PRIMITIVES;
$UBR INVERT(INTEGER E); $UBR EVERT(INTEGER B);
$UBR MKEV(INTEGER F,V); $UBR MKFE(INTEGER V1,F,V2);
$UBR ESPLIT(INTEGER E);
$UBR KLFE(INTEGER E);
$UBR KLEV(INTEGER V);
$UBR KLVE(INTEGER E);
$UBR MKCOPY(INTEGER B);
$UBR GLUE(INTEGER F1,F2);
$UBR GLUEE(INTEGER F1,V1,F2,V2);
$UBR SWEEP(INTEGER F,FLG);
$UBR ROTCOM(INTEGER F);
$UBR PYRAMID(INTEGER FV);
$UBR REMOVF(INTEGER F);
$UBR FVDUAL(INTEGER B);
$UBR MKCUBE(REAL A,B,C);
$UBR MKCYLN(REAL R,N,Z);
$UBR MKBALL(REAL R,M,N);
COMMENT EXTERNAL DECLARATIONS FOR DISPLAY ROUTINES;
$UBR DPYSET(INTEGER ARRAY PTR);
$UBR DPYBIG(INTEGER SIZE);
$UBR DPYBRT(INTEGER SIZE);
$UBR AVECT(INTEGER X,Y);
$UBR AIVECT(INTEGER X,Y);
$UBR RVECT(INTEGER X,Y);
$UBR RIVECT(INTEGER X,Y);
$UBR DPYSST(STRING S);
$UBR DPYOUT(INTEGER POG);
$UBR DPYSTR(REFERENCE INTEGER TEXT);
$UBR DTYO(INTEGER BPTR);
$UBR OCTDPY(INTEGER X);
$UBR DECDPY(INTEGER X);
$UBR FLODPY(REAL X;INTEGER PLACES(4));
COMMENT GEM-NODE NAMES FOR LINKS AND DATA;
$UBR CAR(INTEGER Q);
$UBR CDR(INTEGER Q);
$UBR DIP(INTEGER AC,Q);
$UBR DAP(INTEGER AC,Q);
SIMPLE INTEGER PROCEDURE XWD(INTEGER Q1,Q2);START_CODE HRLZ 1,Q1;HRR 1,Q2;END;
COMMENT WORLD LOCUS;
DEFINE XWC(V)=⊂MEMORY[V-3,REAL]⊃;
DEFINE YWC(V)=⊂MEMORY[V-2,REAL]⊃;
DEFINE ZWC(V)=⊂MEMORY[V-1,REAL]⊃;
DEFINE AA(V)=⊂MEMORY[V-3,REAL]⊃;
DEFINE BB(V)=⊂MEMORY[V-2,REAL]⊃;
DEFINE CC(V)=⊂MEMORY[V-1,REAL]⊃;
DEFINE BBIT=⊂'1000000⊃;
COMMENT ROTATION MATRIX;
DEFINE IX(V)=⊂MEMORY[V+0,REAL]⊃;
DEFINE IY(V)=⊂MEMORY[V+1,REAL]⊃;
DEFINE IZ(V)=⊂MEMORY[V+2,REAL]⊃;
DEFINE JX(V)=⊂MEMORY[V+3,REAL]⊃;
DEFINE JY(V)=⊂MEMORY[V+4,REAL]⊃;
DEFINE JZ(V)=⊂MEMORY[V+5,REAL]⊃;
DEFINE KX(V)=⊂MEMORY[V+6,REAL]⊃;
DEFINE KY(V)=⊂MEMORY[V+7,REAL]⊃;
DEFINE KZ(V)=⊂MEMORY[V+8,REAL]⊃;
COMMENT PERSPECTIVE-PROJECTED LOCUS;
DEFINE XPP(V)=⊂MEMORY[V+4,REAL]⊃;
DEFINE YPP(V)=⊂MEMORY[V+5,REAL]⊃;
DEFINE ZPP(V)=⊂MEMORY[V+6,REAL]⊃;
DEFINE NFACE(Q)=⊂CAR((Q)+1)⊃;DEFINE PFACE(Q)=⊂CDR((Q)+1)⊃;
DEFINE NED(Q)=⊂CAR((Q)+2)⊃;DEFINE PED(Q)=⊂CDR((Q)+2)⊃;
DEFINE NVT(Q)=⊂CAR((Q)+3)⊃;DEFINE PVT(Q)=⊂CDR((Q)+3)⊃;
DEFINE NCW(Q)=⊂CAR((Q)+4)⊃;DEFINE PCW(Q)=⊂CDR((Q)+4)⊃;
DEFINE NCCW(Q)=⊂CAR((Q)+5)⊃;DEFINE PCCW(Q)=⊂CDR((Q)+5)⊃;
DEFINE DAD(Q)=⊂CAR((Q)+4)⊃;DEFINE SON(Q)=⊂CDR((Q)+4)⊃;
DEFINE BRO(Q)=⊂CAR((Q)+5)⊃;DEFINE SIS(Q)=⊂CDR((Q)+5)⊃;
DEFINE ALT(Q)=⊂CAR((Q)+6)⊃;DEFINE ALT2(Q)=⊂CDR((Q)+6)⊃;
DEFINE LOCOR(Q)=⊂CDR((Q)+6)⊃;
DEFINE CW(Q)=⊂CAR((Q)+7)⊃;DEFINE CCW(Q)=⊂CDR((Q)+7)⊃;
DEFINE CAR8(Q)=⊂CAR((Q)+8)⊃;DEFINE CDR8(Q)=⊂CDR((Q)+8)⊃;
DEFINE NFACE$(A,Q)=⊂DIP((A),(Q)+1)⊃;DEFINE PFACE$(A,Q)=⊂DAP((A),(Q)+1)⊃;
DEFINE NED$(A,Q)=⊂DIP((A),(Q)+2)⊃;DEFINE PED$(A,Q)=⊂DAP((A),(Q)+2)⊃;
DEFINE NVT$(A,Q)=⊂DIP((A),(Q)+3)⊃;DEFINE PVT$(A,Q)=⊂DAP((A),(Q)+3)⊃;
REQUIRE UNSTACK_DELIMITERS;